layui.use(['table','upload'], function() {
var table = layui.table,
    $ = layui.jquery,
    layer = layui.layer,
    form = layui.form,
    laytpl = layui.laytpl,
    message = parent.message,
    upload = layui.upload;
var tableIns = table.render({
    elem: '#demo',
    height: 'full-132', //容器高度
    url: '../sys/homepic/list?_'+$.now(),
    where: {sidx: '', order: 'desc'},
    page: true,
    id: 'demo',
    limit: 20,
    cols: [
        [{
            checkbox: true,
            fixed: true
        }, {
            field: 'code',
            title: '排序',
            width: 200,
            sort: true
        },
        {
            field: 'homepagepic',
            title: '图片',
            width: 200,
            sort: true,
            align: 'center',
            templet: '#imgtpl'
        }, {
            field: 'url',
            title: '链接',
            width: 150
        }, {
            field: 'createTime',
            title: '创建时间',
            width: 350
        },{
            fixed: 'right',
            title: '操作',
            width: 300,
            align: 'center',
            toolbar: '#barDemo'
        }]
    ],
    done: function(res, curr, count) {
    	
    },
    loading: true,
});
/*form.render(null, 'kit-search-form');
$('#kit-search-more').on('click', function() {
    $('.kit-search-mored').toggle();
});*/
//监听工具条
table.on('tool(demo)', function(obj) { //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
    var data = obj.data; //获得当前行数据
    var layEvent = obj.event; //获得 lay-event 对应的值
    var tr = obj.tr; //获得当前行 tr 的DOM对象

    if (layEvent === 'del') { //删除
        layer.confirm('确定删除该数据', function(index) {
            layer.close(index);
            //向服务端发送删除指令
            var userIds = Array();
            userIds.push(data.id);
            $.ajax({
        		type: "POST",
        	    url: "../sys/homepic/delete",
        	    data: JSON.stringify(userIds),
        	    dataType: 'JSON',
        	    contentType: 'application/json',
        	    success: function(res){
        	    	if (res.code==0) {
        	        	message.show({
        	                skin:'default',//皮肤  支持:red,orange,cyan,blue,black,default
        	                msg:'操作成功'//提示信息
        	            });
        	        	obj.del(); //删除对应行（tr）的DOM结构
        	        	//tableIns.reload({where: {sidx: '', order: 'desc'}});
        	        } else {
        	        	layer.msg(res.msg, {icon: 2});
        	        }
        		}
        	});
        });
    } else if (layEvent === 'edit') { //编辑
    	var d = {
            	id: data.id,
        		code: data.code,
        		homepagepic: data.homepagepic,
        		url: data.url
            };
        	var fileFlg = false;
            //渲染
            laytpl($('#edit-tpl').html()).render(d,
                function(html) {
                    var index =layer.open({
                        type: 1,
                        title: '修改',
                        content: html,
                        skin: 'layui-layer-rim', //加上边框
                        area: ['450px', '400px'],
                        btn: ['提交', '取消'],
                        yes: function(index, layero) {
                        	if($("#url").val()==""){
                        		layer.msg("链接不能为空", {icon: 2});
                        		return;
                        	}
                        	if($("#code").val()!=""){
                        	if(fileFlg){
                        		uploadInst.config.data={id:$("#id").val(),code:$("#code").val(),url:$("#url").val()} 
                        		$('#formEdit').click();
                        	}else{
                        		var menu = new Object(); 
                        		menu.id = $("#id").val();
                        		menu.code = $("#code").val(); 
                        		menu.url = $("#url").val(); 
                        		var json = JSON.stringify(menu); 
                        		saveOrUpdate(json);
                        	}
                        		layer.close(index); //关闭弹出层
                        	}else{
                        		layer.msg("序号不能为空", {icon: 2});
                        	}
                        },
                        btn2: function(index, layero) {
                        	layer.close(index); //关闭弹出层
                        },
                        success: function() {
                   		form.render(null, 'form-edit');
                        }
                    });
                });
            var uploadInst = upload.render({
               elem: '#imgButton',
               url: '/comm-cg/sys/homepic/update',
               accept: 'images',
               auto: false, //选择文件后不自动上传
               bindAction: '#formEdit', //指向一个按钮触发上传
               choose: function(obj){
           	    //将每次选择的文件追加到文件队列
           	    var files = obj.pushFile();
           	    
           	    //预读本地文件，如果是多文件，则会遍历。(不支持ie8/9)
           	    obj.preview(function(index, file, result){
           	      //这里还可以做一些 append 文件列表 DOM 的操作
           	      $('#img').attr('src', result); //图片链接（base64）
           	      fileFlg =true;
           	      //obj.upload(index, file); //对上传失败的单个文件重新上传，一般在某个事件中使用
           	      //delete files[index]; //删除列表中对应的文件，一般在某个事件中使用
           	    });
           	  }
               ,done: function(res){
                 //如果上传失败
                 if(res.code != 0){
               	  layer.msg(res.msg, {icon: 2});
                 }else{
               	  message.show({
     	                skin:'default',//皮肤  支持:red,orange,cyan,blue,black,default
     	                msg:'操作成功'//提示信息
     	            });
     	        	tableIns.reload({where: {order: 'desc'}});
                 }
                 //上传成功
               }
               ,error: function(){
                 
               }
             });
    }
});

var roleList;
$(function(){
	$.get("../sys/role/select", function(r){
		roleList = r.list;
	});
});

$('.kit-search-btns').children('a').off('click').on('click', function() {
    var $that = $(this),
    action = $that.data('action');
    switch (action) {
    case 'add':
    	var d = {
        	id: '',
    		code: '',
    		homepagepic: '',
    		url: ''
        };
    	var fileFlg = false;
        //渲染
        laytpl($('#edit-tpl').html()).render(d,
            function(html) {
                var index =layer.open({
                    type: 1,
                    title: '新增图片',
                    content: html,
                    skin: 'layui-layer-rim', //加上边框
                    area: ['450px', '400px'],
                    btn: ['提交', '取消'],
                    yes: function(index, layero) {
                    	if($("#url").val()==""){
                    		layer.msg("链接不能为空", {icon: 2});
                    		return;
                    	}
                    	if($("#code").val()!=""){
                    	if(fileFlg){
                    		uploadInst.config.data={code:$("#code").val(),url:$("#url").val()} 
                    		$('#formEdit').click();
                    	}else{
                    		var menu = new Object(); 
                    		menu.code = $("#code").val(); 
                    		menu.url = $("#url").val(); 
                    		var json = JSON.stringify(menu); 
                    		saveOrUpdate(json);
                    	}
                    		layer.close(index); //关闭弹出层
                    	}else{
                    		layer.msg("序号不能为空", {icon: 2});
                    	}
                    },
                    btn2: function(index, layero) {
                    	layer.close(index); //关闭弹出层
                    },
                    success: function() {
               		form.render(null, 'form-edit');
                    }
                });
            });
        var uploadInst = upload.render({
           elem: '#imgButton',
           url: '/comm-cg/sys/homepic/save',
           accept: 'images',
           auto: false, //选择文件后不自动上传
           bindAction: '#formEdit', //指向一个按钮触发上传
           choose: function(obj){
       	    //将每次选择的文件追加到文件队列
       	    var files = obj.pushFile();
       	    
       	    //预读本地文件，如果是多文件，则会遍历。(不支持ie8/9)
       	    obj.preview(function(index, file, result){
       	      //这里还可以做一些 append 文件列表 DOM 的操作
       	      $('#img').attr('src', result); //图片链接（base64）
       	      fileFlg =true;
       	      //obj.upload(index, file); //对上传失败的单个文件重新上传，一般在某个事件中使用
       	      //delete files[index]; //删除列表中对应的文件，一般在某个事件中使用
       	    });
       	  }
           ,done: function(res){
             //如果上传失败
             if(res.code != 0){
           	  layer.msg(res.msg, {icon: 2});
             }else{
           	  message.show({
 	                skin:'default',//皮肤  支持:red,orange,cyan,blue,black,default
 	                msg:'操作成功'//提示信息
 	            });
 	        	tableIns.reload({where: {order: 'desc'}});
             }
             //上传成功
           }
           ,error: function(){
             
           }
         });
        break;
        case 'del-bulk':
            var d = table.checkStatus('demo');
            if (d.data.length === 0) {
                layer.msg('请选择要删除的数据');
                return;
            }
            var data = d.data,
                ids = [];
            layui.each(data, function(index, item) {
                ids.push(item.id);
            });
            layer.confirm('确定删除选中的数据', function(index) {
            	layer.close(index);
                //向服务端发送删除指令
                $.ajax({
            		type: "POST",
            	    url: "../sys/homepic/delete",
            	    data: JSON.stringify(ids),
            	    dataType: 'JSON',
            	    contentType: 'application/json',
            	    success: function(res){
            	    	if (res.code==0) {
            	        	message.show({
            	                skin:'default',//皮肤  支持:red,orange,cyan,blue,black,default
            	                msg:'操作成功'//提示信息
            	            });
            	        	tableIns.reload({where: {sidx: '', order: 'desc'}});
            	        } else {
            	        	layer.msg(res.msg, {icon: 2});
            	        }
            		}
            	});
            });
            break;
        }
    });

var saveOrUpdate = function (datas) {
	var url = $("#id").val() == null ? "../sys/homepic/save2" : "../sys/homepic/update2";
	$.ajax({
		type: "POST",
	    url: url,
	    data: datas,
	    dataType: 'JSON',
	    contentType: 'application/json',
	    success: function(res){
	    	if (res.code==0) {
	        	message.show({
	                skin:'default',//皮肤  支持:red,orange,cyan,blue,black,default
	                msg:'操作成功'//提示信息
	            });
	        	tableIns.reload({where: {sidx: '', order: 'desc'}});
	        } else {
	        	layer.msg(res.msg, {icon: 2});
	        }
		}
	});
}

//监听搜索表单提交
/*form.on('submit(search)', function(data) {
	//带条件查询
    tableIns.reload({
    	where: {
    		sidx: '', order: 'desc',
    		username: data.field.username,
    	}
    });
    return false;
});*/
});
